38 research outputs found

    Inhabitation for non-idempotent intersection types

    Get PDF

    Intersection types and (positive) almost-sure termination

    Get PDF
    Randomized higher-order computation can be seen as being captured by a λ-calculus endowed with a single algebraic operation, namely a construct for binary probabilistic choice. What matters about such computations is the probability of obtaining any given result, rather than the possibility or the necessity of obtaining it, like in (non)deterministic computation. Termination, arguably the simplest kind of reachability problem, can be spelled out in at least two ways, depending on whether it talks about the probability of convergence or about the expected evaluation time, the second one providing a stronger guarantee. In this paper, we show that intersection types are capable of precisely characterizing both notions of termination inside a single system of types: the probability of convergence of any λ-term can be underapproximated by its type, while the underlying derivation's weight gives a lower bound to the term's expected number of steps to normal form. Noticeably, both approximations are tight-not only soundness but also completeness holds. The crucial ingredient is non-idempotency, without which it would be impossible to reason on the expected number of reduction steps which are necessary to completely evaluate any term. Besides, the kind of approximation we obtain is proved to be optimal recursion theoretically: no recursively enumerable formal system can do better than that

    On Graph Refutation for Relational Inclusions

    Full text link
    We introduce a graphical refutation calculus for relational inclusions: it reduces establishing a relational inclusion to establishing that a graph constructed from it has empty extension. This sound and complete calculus is conceptually simpler and easier to use than the usual ones.Comment: In Proceedings LSFA 2011, arXiv:1203.542

    ASMs and Operational Algorithmic Completeness of Lambda Calculus

    Get PDF
    We show that lambda calculus is a computation model which can step by step simulate any sequential deterministic algorithm for any computable function over integers or words or any datatype. More formally, given an algorithm above a family of computable functions (taken as primitive tools, i.e., kind of oracle functions for the algorithm), for every constant K big enough, each computation step of the algorithm can be simulated by exactly K successive reductions in a natural extension of lambda calculus with constants for functions in the above considered family. The proof is based on a fixed point technique in lambda calculus and on Gurevich sequential Thesis which allows to identify sequential deterministic algorithms with Abstract State Machines. This extends to algorithms for partial computable functions in such a way that finite computations ending with exceptions are associated to finite reductions leading to terms with a particular very simple feature.Comment: 37 page

    A Formalization of the Theorem of Existence of First-Order Most General Unifiers

    Full text link
    This work presents a formalization of the theorem of existence of most general unifiers in first-order signatures in the higher-order proof assistant PVS. The distinguishing feature of this formalization is that it remains close to the textbook proofs that are based on proving the correctness of the well-known Robinson's first-order unification algorithm. The formalization was applied inside a PVS development for term rewriting systems that provides a complete formalization of the Knuth-Bendix Critical Pair theorem, among other relevant theorems of the theory of rewriting. In addition, the formalization methodology has been proved of practical use in order to verify the correctness of unification algorithms in the style of the original Robinson's unification algorithm.Comment: In Proceedings LSFA 2011, arXiv:1203.542

    Fondazioni di linguaggi funzionali e con controllo delle risorse (FOLLIA)

    No full text
    Progetto FOLLIA is a continuation of MIUR-2002 PROTOCOLLO project(from PROofs TO COmputation through Linear LOgic) with a twofold goal: FOLLIA will continue the promising development of foundational and applicative research, within Theoretical Computer Science, that followed the introduction of Linear Logic. Starting from the theoretical results, FOLLIA will develop methodologies for the design, the analysis and the verification of paradigmatic programming languages oriented to applications in the context of mobile computations with resource guarantees. Real issues will solicit ideas, and, will be verification tools, relatively to the obtained results, though mobile computations in presence of resource limitations will be our favorite context of reference

    Type Inference and Extensionality

    No full text
    Computer Society of the IEE
    corecore